package com.bsj.power.common.def.entity.role;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.util.Date;

/**
 * @author yinhao
 * @version 1.0
 * @description 系统角色类
 * @date 2024/4/18
 */
@Data
@TableName("tab_role")
public class Role extends Model<Role> {

    /**
     * 角色ID
     */
    @TableId(value = "role_id", type = IdType.AUTO)
    private Long roleId;

    /**
     * 角色名称
     */
    @TableField(value = "role_name")
    private String roleName;

    /**
     * 角色类型 1系统管理员角色 2安全管理员角色  3安全审计员角色 4业务操作员角色
     */
    @TableField(value = "role_type")
    private Integer roleType;

    /**
     * 角色标识
     */
    @TableField(value = "role_sign")
    private String roleSign;

//    /**
//     * 权限列表
//     */
//    @TableField(value = "permission")
//    private String permission;

//    /**
//     * 用于视频权限存储
//     */
//    @TableField(value = "perm_type")
//    private String permType;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 创建时间
     */
    @TableField("create_time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 是否为默认角色，手动在数据库内填值，每种角色类型需一个默认角色，不允许修改删除
     */
    @TableField("is_default")
    private Integer isDefault;
}
